RDS for SQLServerで利用可能なDBインスタンスクラスを表で整理する
ご機嫌いかがでしょうか、豊崎です。
RDS for SQLServer を利用する場合、エディションとライセンス(BYOL、ライセンス込み)によって選択できるDBインスタンスクラスが異なります。 表にまとめる必要があったため、記事として書き出したいと思います。
DBインスタンスクラス
現行世代のDBインスタンスクラス
現行世代の DB インスタンスクラスには次のものがあります。
インスタンスタイプ | 現行世代のDBインスタンス |
スタンダード現行世代 (db.m4) |
*中国 (北京) リージョンでは使用できません |
メモリの最適化現行世代 (db.r3) |
|
バースト可能現行世代 (db.t2) |
|
前の世代のDBインスタンスクラス
前の世代のDBインスタンスクラスには以下があります。 メモリ最適化のインスタンスタイプはdb."m"2なんですね、知りませんでした。
インスタンスタイプ | 前の世代の DB インスタンスクラス |
---|---|
スタンダード前の世代 (db.m3) |
|
スタンダード前の世代 (db.m1) |
|
メモリ最適化前の世代 (db.m2) |
|
マイクロインスタンス (db.t1.micro) |
|
DBエンジンに対応したインスタンスクラス
補足として現行世代に対して、DBインスタンス(SQLServer、Oracleを除く)の対応は以下となります。
DB エンジン | インスタンスクラス | 対応状況 |
---|---|---|
Amazon Aurora | db.m4 | サポートされていません |
db.r3 | すべてのバージョンで利用可能 | |
db.t2 | Aurora バージョン 1.9 以降では、db.t2.medium インスタンスクラスが利用可能 Aurora バージョン 1.11 以降では、db.t2.medium と db.t2.small インスタンスクラスの両方が利用可能 | |
MariaDB | db.m4 | すべてのバージョンで利用可能 |
db.r3 | すべてのバージョンで利用可能 | |
db.t2 | すべてのバージョンで利用可能 | |
MySQL | db.m4 | MySQL5.5、5.6、5.7 で利用可能 |
db.r3 | MySQL5.5、5.6、5.7 で利用可能 | |
db.t2 | MySQL5.5、5.6、5.7 で利用可能 | |
PostgreSQL | db.m4 | すべてのバージョンで利用可能 |
db.r3 | すべてのバージョンで利用可能 | |
db.t2 | すべてのバージョンで利用可能 |
Amazon Auroraではdb.m4クラスがサポートされていないことと、バージョンによってdb.t2クラスの利用に注意する以外はほとんど全てのインスタンスクラスを利用することができます。 また今回はSQLServerに対してのみ表にまとめます。OracleもSQLServerと同様に複雑なのですが、ここでは記載しません。
Oracleで利用可能なインスタンスクラスについては以下「DB インスタンスクラスの Oracle のサポート」を参照ください。
RDS for SQL Server対応のインスタンスクラス
Microsoft SQL Serverについては複雑なため以下星取表でまとめてみました。
- Bring-Your-Own-License(ライセンス持ち込み) >BYOL
- License-Included(ライセンス込み) > LI
としています。
SQL Server 2016
Edition | Enterprise | Standard | Web | Express | ||
インスタンスクラス | BYOL | LI | BYOL | LI | - | - |
db.m4.large | ○ | × | ○ | ○ | ○ | × |
db.m4.xlarge | ○ | ○ | ○ | ○ | ○ | × |
db.m4.2xlarge | ○ | ○ | ○ | ○ | ○ | × |
db.m4.4xlarge | ○ | ○ | ○ | ○ | ○ | × |
db.m4.10xlarge | ○ | ○ | ○ | × | × | × |
db.r3.large | × | × | × | × | × | × |
db.r3.xlarge | × | × | × | × | × | × |
db.r3.2xlarge | × | ○ | × | × | × | × |
db.r3.4xlarge | × | ○ | × | × | × | × |
db.r3.8xlarge | × | ○ | × | × | × | × |
db.t2.micro | × | × | × | × | × | ○ |
db.t2.small | ○ | × | ○ | × | ○ | ○ |
db.t2.medium | ○ | × | ○ | × | ○ | ○ |
db.t2.large | ○ | × | ○ | × | × | × |
SQL Server 2014
Edition | Enterprise | Standard | Web | Express | ||
インスタンスクラス | BYOL | LI | BYOL | LI | - | - |
db.m4.large | ○ | × | ○ | ○ | ○ | × |
db.m4.xlarge | ○ | ○ | ○ | ○ | ○ | × |
db.m4.2xlarge | ○ | ○ | ○ | ○ | ○ | × |
db.m4.4xlarge | ○ | ○ | ○ | ○ | ○ | × |
db.m4.10xlarge | ○ | ○ | ○ | × | × | × |
db.r3.large | ○ | × | ○ | ○ | ○ | × |
db.r3.xlarge | ○ | × | ○ | ○ | ○ | × |
db.r3.2xlarge | ○ | ○ | ○ | ○ | ○ | × |
db.r3.4xlarge | ○ | ○ | ○ | ○ | × | × |
db.r3.8xlarge | ○ | ○ | ○ | ○ | × | × |
db.t2.micro | × | × | × | × | × | ○ |
db.t2.small | ○ | × | ○ | × | ○ | ○ |
db.t2.medium | ○ | × | ○ | × | ○ | ○ |
db.t2.large | ○ | × | ○ | × | × | × |
SQL Server 2012 および 2008R2
Edition | Enterprise | Standard | Web | Express | ||
インスタンスクラス | BYOL | LI | BYOL | LI | - | - |
db.m4.large | ○ | × | ○ | ○ | ○ | × |
db.m4.xlarge | ○ | ○ | ○ | ○ | ○ | × |
db.m4.2xlarge | ○ | ○ | ○ | ○ | ○ | × |
db.m4.4xlarge | ○ | ○ | ○ | ○ | ○ | × |
db.m4.10xlarge | ○ | ○ | ○ | × | × | × |
db.r3.large | ○ | × | ○ | ○ | ○ | × |
db.r3.xlarge | ○ | × | ○ | ○ | ○ | × |
db.r3.2xlarge | ○ | ○ | ○ | ○ | ○ | × |
db.r3.4xlarge | ○ | ○ | × | × | × | × |
db.r3.8xlarge | ○ | ○ | × | × | × | × |
db.t2.micro | × | × | × | × | × | ○ |
db.t2.small | ○ | × | ○ | × | ○ | ○ |
db.t2.medium | ○ | × | ○ | × | ○ | ○ |
db.t2.large | ○ | × | ○ | × | × | × |
さいごに
本番環境でSQLServer のStandard、Enterprise Editionと開発環境で同じEditionにしたいが、コストを抑えるために開発環境はt2クラスを利用したいというケースがあります。 しかし表でまとめた通り、SQLServer のStandard、Enterprise Editionの場合、BYOLでの利用でないとt2シリーズが利用できません。(2016を除く、Standard Editionであれば旧世代のインスタンスクラスの選択肢は比較的広いです。)
ライセンス込みを利用する場合、開発環境のRDSについては選択できる中で最小のインスタンスを選択して、利用しないタイミングでは止めておくことでコストを抑えるのが良いかと思います。
- 短期間(7日間まで):RDSの停止(要シングルAZ構成のRDS)
- 長期間(7日間以上):スナップショットを取得しRDSの削除
RDSの起動/停止の制約、注意事項については以下を参照ください。
誰かの参考になれば幸甚です。